The conventional common-memory data switch has the advantages of extreme simplicity, high-performance, ease of multicasting, and ease of scheduling in comparison with other data switches. In a common-memory switch, each input port has exclusive access to a common memory over a designated interval in a time frame and, similarly, each output port has exclusive access to the common memory during a designated interval in the time frame. The total capacity, in bits per second, of the common memory switch is therefore determined by the width and the access time (read and write) of the common memory. In a symmetrical switch, the total capacity is the capacity of the input side or the output side of the switch. To realize a capacity of 640 gigabits per second, for example, using a memory of access time (read and write) of 20 nanoseconds, the memory width would be 12.800 kilobits (1.6 Kilobytes). When an input port accesses the common memory, it writes a data block destined to at least one output port. In order to fully use the capacity of the switch, the size of the data block should be equal to the width of the common memory. The time required to form, at an input port, a data block directed to an output port can be excessive when the flow rate of a data stream from an input port to an output port is relatively low. A requirement to keep the data-block formation below an acceptable value may limit the scalability of the common-memory switch. Thus, while scheduling and control simplicity of a common-memory switch would facilitate capacity growth, the scalability of the switch is determined primarily by the switching fabric limitation.
Well-known conventional switch structures based on time-shared space switches would allow the construction of a switching fabric of high capacity. However, the scalability of such structures may be limited by scheduling and control complexity.
The main advantage of the common-memory switch is the absence of internal contention which facilitates scheduling and improves performance. The main advantage of the space-switch is the ease of expansion to high fabric capacities. The main limitation of the common-memory switch is fabric scalability in terms of the number of ports. The main limitation of the time-shared space switch is the scheduler scalability. A common-memory fabric is suitable for data streams of high flow rates while a time-shared-space-switch fabric is suitable for data streams of relatively low flow rates. In order to provide a data network serving data streams of widely varying flow rates and different service requirements, a switching-node structure that combines the advantages, and circumvents the limitations, of the common-memory structure and the space-switch-based structure is needed.